import { defineStore } from 'pinia';

// 定义 Store，第一个参数是唯一ID
export const useAppStore = defineStore('app', {
  // 状态
  state: () => ({
    // 当前激活的标签
    activeTab: '菜单测试',
    // 是否显示侧边栏
    sidebarVisible: true,
    // 系统时间
    systemTime: '',
  }),

  // 启用持久化
  persist: true,

  // 计算属性（类似 Vuex 的 getters）
  getters: {
    // 获取格式化的时间
    formattedTime(state) {
      return state.systemTime ? state.systemTime : '暂无时间数据';
    },
  },

  // 方法（类似 Vuex 的 mutations 和 actions）
  actions: {
    // 更新激活的标签
    updateActiveTab(tab) {
      this.activeTab = tab;
    },

    // 切换侧边栏显示状态
    toggleSidebar() {
      this.sidebarVisible = !this.sidebarVisible;
    },

    // 更新系统时间
    updateSystemTime(time) {
      this.systemTime = time;
    },
  },
});
